В этой задаче на проверку необходимо сдать исходный код программы.
Давным-давно в далекой галактике существовала планетная система, состоящая из
nn планет. Каждую планету этой системы можно представить как точку с целыми неотрицательными координатами в
mm-мерном пространстве, таким образом, каждая планета имеет
mm координат.
Обозначим за
ci,jci,j -
jj -ю координату
ii -й планеты.
Известно, что для каждой планеты
i(1≤i≤n)i(1≤i≤n) выполнено неравенство
0≤ci,j<qj0≤ci,j<qj по всем
j(1≤j≤m)j(1≤j≤m). Иными словами,
jj-я координата любой планеты строго меньше некоторого значения
qjqj.
Так же известно, что в системе не существует планет с совпадающими координатами.
Находясь на планете
aa, можно совершить прямой перелет на другую планету
bb, если и только если каждая координата планеты
bb не превосходит соответствующей координаты планеты
aa. Более формально, с планеты
aa можно совершить прямой перелет на планету
bb, если для всех
jj от 1 до
mm выполнено неравенство:
cb,j≤ca,jcb,j≤ca,j.
В системе есть
kk обитаемых планет, имеющих номера
x1,x2,...,xkx1,x2,...,xk, все остальные планеты считаются необитаемыми.
Назовем последовательность планет
y1,y2,...,yry1,y2,...,yr путем, если для каждого
i(1≤i<r)i(1≤i<r) можно напрямую перелететь с планеты
yiyi на планету
yi+1yi+1. Два пути будем считать различными, если последовательности планет в них отличаются.
Император галактики просит вас для каждой планеты от
11 до
nn посчитать количество различных путей, начинающихся в этой планете и заканчивающихся в некоторой обитаемой планете по модулю
109+7109+7.
Формат ввода
В первой строке вводится число
tt - количество планетных систем, для которых нужно найти ответ.
Описание каждой планетной системы начинается с трех чисел
n,m,k(1≤n≤105,1≤m≤16,0≤k≤n)n,m,k(1≤n≤105,1≤m≤16,0≤k≤n), разделенных пробелом.
В следующей строке содержатся числа
q1,q2,...,qmq1,q2,...,qm - ограничения на координаты планет.
Гарантируется, что во всех тестах данной задачи
∏mj=1qj≤105∏j=1mqj≤105.
Далее следуют
nn строк, описывающих координаты планет.
ii-я из следующих
nn строк описывает координаты
ii-й планеты и содержит целые числа
ci,1,ci,2,...,ci,m(0≤ci,j<qj)ci,1,ci,2,...,ci,m(0≤ci,j<qj).
Далее следует строка, содержащая
kk различных чисел - номера обитаемых планет
x1,x2,...,xk(1≤xi≤n)x1,x2,...,xk(1≤xi≤n).
Формат вывода
Для каждой из
tt планетных систем для каждой планеты в системе выведите количество искомых путей по модулю
109+7109+7.
Система оценивания
Оценка за эту задачу — 50 баллов, тестирование проводится онлайн (после тура баллы за задачу не изменятся).
За каждую планетную систему, для которой был найден правильный ответ, начисляется 2 балла.
В первом тесте 3 планетных системы, в каждой из них не более 20 планет.
Во втором тесте 5 планетных систем, в каждой из них не более 2000 планет.
В третьем тесте 2 планетные системы, в каждой из них
m=1m=1.
В четвертом тесте 5 планетных систем, в каждой из них
m=2m=2.
В пятом тесте 10 планетных систем, дополнительных ограничений нет.
Пример
| Ввод | Вывод |
|---|
2
2 2 1
2 2
0 0
0 1
2
3 2 2
2 2
0 0
0 1
1 0
1 2
| 0
1
1
2
1
|
Примечания
В первой планетной системе две планеты, первая планета имеет координаты
(0,0)(0,0), вторая планета имеет координаты
(0,1)(0,1),
планета 2 является единственной обитаемой планетой. Первая планета
необитаема, и с нее нельзя никуда перелететь, поэтому количество путей,
начинающихся в этой планете и заканчивающихся в обитаемой планете, равно
00. Вторая планета обитаема, поэтому путь, состоящий лишь из нее, нам подходит, в то же время путь
2→12→1 оканчивается в необитаемой планете, следовательно, нам не подходит. Таким образом, ответ для второй планеты равен 1.
Во второй планетной системе три планеты, первая имеет координаты
(0,0)(0,0), вторая планета имеет координаты
(0,1)(0,1), третья планета имеет координаты
(1,0)(1,0). Планеты
11 и
22
являются обитаемыми. Из первой планеты перелететь никуда нельзя, но
можно остаться на ней и получить путь, состоящий лишь из первой планеты,
которая является обитаемой, следовательно, этот путь подходит нам. Для
второй планеты существуют пути
2→12→1, так как планета
11 обитаема, а так же путь, состоящий лишь из второй планеты, поэтому ответ для этой планеты
22. Для третьей планеты существует лишь один путь
3→13→1, заканчивающийся в первой планете, которая является обитаемой, следовательно, ответ для третьей планеты
11.